Assembly প্রোগ্রাম তৈরি এবং কার্যকর করার প্রক্রিয়া (build এবং execution) বেশ কয়েকটি ধাপের মাধ্যমে সম্পন্ন হয়। এই প্রক্রিয়ায় মূলত Assembly কোড লেখা, অ্যাসেম্বলার দিয়ে মেশিন কোডে অনুবাদ করা, লিঙ্কার ব্যবহার করে প্রোগ্রাম লিঙ্ক করা এবং অবশেষে এক্সিকিউট করা অন্তর্ভুক্ত। নিচে এই পুরো প্রক্রিয়াটি বিস্তারিতভাবে ব্যাখ্যা করা হলো:
প্রথম ধাপ হলো Assembly প্রোগ্রাম লেখা। এটি .asm
এক্সটেনশনসহ একটি টেক্সট ফাইল হিসাবে সংরক্ষণ করা হয়। প্রোগ্রামটি একটি টেক্সট এডিটরে লেখা হয় এবং সাধারণত নিম্নলিখিত গঠন থাকে:
section .data
msg db 'Hello, World!', 0
section .text
global _start
_start:
; সিস্টেম কলের মাধ্যমে মেসেজ প্রিন্ট করা
mov eax, 4 ; sys_write
mov ebx, 1 ; ফাইল ডিসক্রিপ্টর (stdout)
mov ecx, msg ; মেসেজ অ্যাড্রেস
mov edx, 13 ; মেসেজের দৈর্ঘ্য
int 0x80 ; সিস্টেম কল
; প্রোগ্রাম শেষ
mov eax, 1 ; sys_exit
xor ebx, ebx ; এক্সিট কোড 0
int 0x80 ; সিস্টেম কল
Assembly কোডকে মেশিন কোডে অনুবাদ করার জন্য একটি অ্যাসেম্বলার প্রয়োজন। NASM (Netwide Assembler), MASM (Microsoft Assembler) এবং GAS (GNU Assembler) হল জনপ্রিয় অ্যাসেম্বলার।
কমান্ড:
nasm -f elf64 program.asm -o program.o
উপরে -f elf64
ফরম্যাট নির্দিষ্ট করে ৬৪-বিট ELF আউটপুট জেনারেট করার জন্য। program.o
হলো আউটপুট অবজেক্ট ফাইল।
অ্যাসেম্বলার অবজেক্ট ফাইল তৈরি করার পর লিঙ্কার ব্যবহার করে এটি একটি এক্সিকিউটেবল ফাইলে রূপান্তর করতে হয়। লিঙ্কার প্রোগ্রামের বিভিন্ন অংশকে একত্রিত করে এবং প্রয়োজনীয় লাইব্রেরি লিঙ্ক করে।
কমান্ড:
ld program.o -o program
উপরে ld
কমান্ড দিয়ে অবজেক্ট ফাইল program.o
কে program
নামে এক্সিকিউটেবল ফাইলে রূপান্তর করা হয়।
এক্সিকিউটেবল ফাইল তৈরি করার পর এটি কমান্ড লাইন বা টার্মিনাল থেকে চালানো যায়।
কমান্ড:
./program
উপরে ./program
চালানোর মাধ্যমে প্রোগ্রাম কার্যকর করা হয় এবং এর আউটপুট দেখা যায়।
.asm
ফাইলে Assembly কোড লেখা হয়।.o
ফাইলে)।Assembly প্রোগ্রামের Build এবং Execution Process এমন ধাপগুলোর সমন্বয়ে গঠিত, যেখানে কোড লেখা থেকে শুরু করে এক্সিকিউশন পর্যন্ত বিভিন্ন ধাপে প্রোগ্রাম অনুবাদ এবং লিঙ্ক করা হয়। এই প্রক্রিয়া Assembly প্রোগ্রামিংয়ের মৌলিক অংশ এবং এটি হার্ডওয়্যার ও সফটওয়্যার প্রোগ্রামিংয়ের মধ্যে সরাসরি সংযোগ প্রদান করে।
common.read_more